// Shows how to check if an application needs to update its certificate. // // Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . // OPC client and subscriber examples in C# on GitHub: https://github.com/OPCLabs/Examples-QuickOPC-CSharp . // Missing some example? Ask us for it on our Online Forums, https://www.opclabs.com/forum/index ! You do not have to own // a commercial license in order to use Online Forums, and we reply to every post. using System; using OpcLabs.EasyOpc.UA; using OpcLabs.EasyOpc.UA.AddressSpace; using OpcLabs.EasyOpc.UA.Application; using OpcLabs.EasyOpc.UA.Extensions; using OpcLabs.EasyOpc.UA.Gds; using OpcLabs.EasyOpc.UA.OperationModel; namespace UADocExamples.Gds._EasyUACertificateManagementClient { class GetCertificateStatus { public static void Main1() { // Define which GDS we will work with. UAEndpointDescriptor gdsEndpointDescriptor = ((UAEndpointDescriptor)"opc.tcp://opcua.demo-this.com:58810/GlobalDiscoveryServer") .WithUserNameIdentity("appadmin", "demo"); // Register our client application with the GDS, so that we obtain an application ID that we need later. // Obtain the application interface. EasyUAApplication application = EasyUAApplication.Instance; UANodeId applicationId; try { applicationId = application.RegisterToGds(gdsEndpointDescriptor); } catch (UAException uaException) { Console.WriteLine("*** Failure: {0}", uaException.GetBaseException().Message); return; } Console.WriteLine("Application ID: {0}", applicationId); // Instantiate the certificate management client object var certificateManagementClient = new EasyUACertificateManagementClient(); // Check if the application needs to update its certificate. bool updateRequired; try { updateRequired = certificateManagementClient.GetCertificateStatus(gdsEndpointDescriptor, applicationId, UANodeId.Null, UANodeId.Null); } catch (UAException uaException) { Console.WriteLine("*** Failure: {0}", uaException.GetBaseException().Message); return; } // Display results Console.WriteLine("Update required: {0}", updateRequired); } // Example output: //Application ID: nsu=http://opcfoundation.org/UA/GDS/applications/ ;ns=2;g=aec94459-f513-4979-8619-8383555fca61 //Update required: False } }
' Shows how to check if an application needs to update its certificate. ' ' Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . ' OPC client and subscriber examples in VB.NET on GitHub: https://github.com/OPCLabs/Examples-QuickOPC-VBNET . ' Missing some example? Ask us for it on our Online Forums, https://www.opclabs.com/forum/index ! You do not have to own ' a commercial license in order to use Online Forums, and we reply to every post. Imports Microsoft.Extensions.DependencyInjection Imports OpcLabs.EasyOpc.UA Imports OpcLabs.EasyOpc.UA.AddressSpace Imports OpcLabs.EasyOpc.UA.Application Imports OpcLabs.EasyOpc.UA.Application.ComTypes Imports OpcLabs.EasyOpc.UA.Extensions Imports OpcLabs.EasyOpc.UA.Gds Imports OpcLabs.EasyOpc.UA.OperationModel Namespace Gds._EasyUACertificateManagementClient Friend Class GetCertificateStatus Public Shared Sub Main1() ' Define which GDS we will work with. Dim gdsEndpointDescriptor As UAEndpointDescriptor = New UAEndpointDescriptor("opc.tcp://opcua.demo-this.com:58810/GlobalDiscoveryServer") _ .WithUserNameIdentity("appadmin", "demo") ' Register our client application with the GDS, so that we obtain an application ID that we need later. ' Obtain the application interface. Dim application = EasyUAApplication.Instance ' Create an application registration in the GDS, assigning it a new application ID. Dim applicationId As UANodeId Try applicationId = application.RegisterToGds(gdsEndpointDescriptor) Catch uaException As UAException Console.WriteLine("*** Failure: {0}", uaException.GetBaseException.Message) Exit Sub End Try ' Instantiate the certificate management client object Dim certificateManagementClient = New EasyUACertificateManagementClient() ' Check if the application needs to update its certificate. Dim updateRequired As Boolean Try updateRequired = certificateManagementClient.GetCertificateStatus(gdsEndpointDescriptor, applicationId, UANodeId.Null, UANodeId.Null) Catch uaException As UAException Console.WriteLine("*** Failure: {0}", uaException.GetBaseException.Message) Exit Sub End Try ' Display results Console.WriteLine("Update required: {0}", updateRequired) End Sub End Class End Namespace
// Shows how to check if an application needs to update its certificate. // // Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . // OPC client and subscriber examples in Object Pascal (Delphi) on GitHub: https://github.com/OPCLabs/Examples-QuickOPC-OP . // Missing some example? Ask us for it on our Online Forums, https://www.opclabs.com/forum/index ! You do not have to own // a commercial license in order to use Online Forums, and we reply to every post. class procedure GetCertificateStatus.Main; var Application: TEasyUAApplication; ApplicationId: _UANodeId; CertificateManagementClient: OpcLabs_EasyOpcUA_TLB._EasyUACertificateManagementClient; GdsEndpointDescriptor: _UAEndpointDescriptor; NullNodeId: _UANodeId; UpdateRequired: boolean; begin // Define which GDS we will work with. GdsEndpointDescriptor := CoUAEndpointDescriptor.Create; GdsEndpointDescriptor.UrlString := 'opc.tcp://opcua.demo-this.com:58810/GlobalDiscoveryServer'; GdsEndpointDescriptor.UserIdentity.UserNameTokenInfo.UserName := 'appadmin'; GdsEndpointDescriptor.UserIdentity.UserNameTokenInfo.Password := 'demo'; // Register our client application with the GDS, so that we obtain an application ID that we need later. // Obtain the application interface. Application := TEasyUAApplication.Create(nil); // Create an application registration in the GDS, assigning it a new application ID. try ApplicationId := Application.RegisterToGds(GdsEndpointDescriptor); except on E: EOleException do begin WriteLn(Format('*** Failure: %s', [E.GetBaseException.Message])); end; end; WriteLn('Application ID: ', ApplicationId.ToString); // Instantiate the certificate management client object CertificateManagementClient := CoEasyUACertificateManagementClient.Create; // Check if the application needs to update its certificate. NullNodeId := CoUANodeId.Create; UpdateRequired := false; try UpdateRequired := CertificateManagementClient.GetCertificateStatus(GdsEndpointDescriptor, ApplicationId, NullNodeId, NullNodeId); except on E: EOleException do begin WriteLn(Format('*** Failure: %s', [E.GetBaseException.Message])); end; end; // Display results WriteLn('Update required: ', UpdateRequired); // Example output: //Application ID: nsu=http://opcfoundation.org/UA/GDS/applications/ ;ns=2;g=aec94459-f513-4979-8619-8383555fca61 //Update required: FALSE end;
REM Shows how to check if an application needs to update its certificate. REM REM Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . REM OPC client and subscriber examples in Visual Basic on GitHub: https://github.com/OPCLabs/Examples-QuickOPC-VB . REM Missing some example? Ask us for it on our Online Forums, https://www.opclabs.com/forum/index ! You do not have to own REM a commercial license in order to use Online Forums, and we reply to every post. Private Sub EasyUACertificateManagementClient_GetCertificateStatus_Main_Command_Click() OutputText = "" ' Define which GDS we will work with. Dim gdsEndpointDescriptor As New UAEndpointDescriptor gdsEndpointDescriptor.UrlString = "opc.tcp://opcua.demo-this.com:58810/GlobalDiscoveryServer" gdsEndpointDescriptor.UserIdentity.UserNameTokenInfo.UserName = "appadmin" gdsEndpointDescriptor.UserIdentity.UserNameTokenInfo.Password = "demo" ' Register our client application with the GDS, so that we obtain an application ID that we need later. ' Obtain the application interface Dim Application As New EasyUAApplication ' Create an application registration in the GDS, assigning it a new application ID. On Error Resume Next Dim applicationId As UANodeId Set applicationId = Application.RegisterToGds(gdsEndpointDescriptor) If Err.Number <> 0 Then OutputText = OutputText & "*** Failure: " & Err.Source & ": " & Err.Description & vbCrLf Exit Sub End If On Error GoTo 0 OutputText = OutputText & "Application ID: " & applicationId & vbCrLf ' Instantiate the certificate management client object Dim certificateManagementClient As New EasyUACertificateManagementClient ' Check if the application needs to update its certificate. Dim nullNodeId As New UANodeId Dim updateRequired As Boolean: updateRequired = False On Error Resume Next updateRequired = certificateManagementClient.GetCertificateStatus(gdsEndpointDescriptor, applicationId, nullNodeId, nullNodeId) If Err.Number <> 0 Then OutputText = OutputText & "*** Failure: " & Err.Source & ": " & Err.Description & vbCrLf Exit Sub End If On Error GoTo 0 ' Display results OutputText = OutputText & "Update required: " & updateRequired & vbCrLf ' Example output: 'Application ID: nsu=http://opcfoundation.org/UA/GDS/applications/ ;ns=2;g=aec94459-f513-4979-8619-8383555fca61 'Update required: FALSE End Sub
Rem Shows how to check if an application needs to update its certificate. Rem Rem Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . Rem OPC client and subscriber examples in VBScript on GitHub: https://github.com/OPCLabs/Examples-QuickOPC-VBScript . Rem Missing some example? Ask us for it on our Online Forums, https://www.opclabs.com/forum/index ! You do not have to own Rem a commercial license in order to use Online Forums, and we reply to every post. Option Explicit ' Define which GDS we will work with. Dim GdsEndpointDescriptor: Set GdsEndpointDescriptor = CreateObject("OpcLabs.EasyOpc.UA.UAEndpointDescriptor") GdsEndpointDescriptor.UrlString = "opc.tcp://opcua.demo-this.com:58810/GlobalDiscoveryServer" GdsEndpointDescriptor.UserIdentity.UserNameTokenInfo.UserName = "appadmin" GdsEndpointDescriptor.UserIdentity.UserNameTokenInfo.Password = "demo" ' Register our client application with the GDS, so that we obtain an application ID that we need later. ' Obtain the application interface. Dim Application: Set Application = CreateObject("OpcLabs.EasyOpc.UA.Application.EasyUAApplication") On Error Resume Next Dim ApplicationId: Set ApplicationId = Application.RegisterToGds(GdsEndpointDescriptor) If Err.Number <> 0 Then WScript.Echo "*** Failure: " & Err.Source & ": " & Err.Description WScript.Quit End If On Error Goto 0 WScript.Echo "Application ID: " & ApplicationId ' Instantiate the certificate management client object Dim CertificateManagementClient: Set CertificateManagementClient = _ CreateObject("OpcLabs.EasyOpc.UA.Gds.EasyUACertificateManagementClient") ' Check if the application needs to update its certificate. Dim NullNodeId: Set NullNodeId = CreateObject("OpcLabs.EasyOpc.UA.AddressSpace.UANodeId") On Error Resume Next Dim UpdateRequired: UpdateRequired = CertificateManagementClient.GetCertificateStatus( _ GdsEndpointDescriptor, ApplicationId, NullNodeId, NullNodeId) If Err.Number <> 0 Then WScript.Echo "*** Failure: " & Err.Source & ": " & Err.Description WScript.Quit End If On Error Goto 0 ' Display results WScript.Echo "Update required: " & UpdateRequired ' Example output: 'Application ID: nsu=http://opcfoundation.org/UA/GDS/applications/ ;ns=2;g=aec94459-f513-4979-8619-8383555fca61 'Update required: False
# Shows how to check if an application needs to update its certificate. # # Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . # OPC client and subscriber examples in Python on GitHub: https://github.com/OPCLabs/Examples-QuickOPC-Python . # Missing some example? Ask us for it on our Online Forums, https://www.opclabs.com/forum/index ! You do not have to own # a commercial license in order to use Online Forums, and we reply to every post. # The QuickOPC package is needed. Install it using "pip install opclabs_quickopc". import opclabs_quickopc # Import .NET namespaces. from OpcLabs.EasyOpc.UA import * from OpcLabs.EasyOpc.UA.AddressSpace import * from OpcLabs.EasyOpc.UA.Application import * from OpcLabs.EasyOpc.UA.Extensions import * from OpcLabs.EasyOpc.UA.Gds import * from OpcLabs.EasyOpc.UA.OperationModel import * # Define which GDS we will work with. gdsEndpointDescriptor = UAEndpointDescriptor('opc.tcp://opcua.demo-this.com:58810/GlobalDiscoveryServer') gdsEndpointDescriptor = UAEndpointDescriptorExtension.WithUserNameIdentity(gdsEndpointDescriptor, 'appadmin', 'demo') # Register our client application with the GDS, so that we obtain an application ID that we need later. # Obtain the application interface. application = EasyUAApplication.Instance try: print('Registering to GDS...') applicationId = application.RegisterToGds(gdsEndpointDescriptor) except UAException as uaException: print('*** Failure: ' + uaException.GetBaseException().Message) exit() print('Application ID: ', applicationId, sep='') # Instantiate the certificate management client object. certificateManagementClient = EasyUACertificateManagementClient() # Check if the application needs to update its certificate. try: updateRequired = certificateManagementClient.GetCertificateStatus(gdsEndpointDescriptor, applicationId, UANodeId.Null, # certificateGroupId UANodeId.Null) # certificateTypeId except UAException as uaException: print('*** Failure: ' + uaException.GetBaseException().Message) exit() # Display results. print('Update required: ', updateRequired, sep='') print() print('Finished.')
Copyright © 2004-2024 CODE Consulting and Development, s.r.o., Plzen. All rights reserved. Web page: www.opclabs.com
Documentation Home, Send Feedback. Resources: Knowledge Base, Product Downloads. Technical support: Online Forums, FAQ.Missing some example? Ask us for it on our Online Forums! You do not have to own a commercial license in order to use Online Forums, and we reply to every post.